﻿using System;

using DevExpress.Xpo;

using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
using System.ComponentModel;
using DevExpress.ExpressApp;
using DevExpress.Data.Filtering;

namespace SpeedSCM.Module
{
    [NavigationItem("基本信息")]
    [ImageName("BO_Product")]
    [DefaultProperty("商品全名")]
    public class 商品 : BaseObject
    {
        public 商品(Session session)
            : base(session)
        {

        }
        private string _商品编号;
        [Custom("Caption", "商品编号")]
        [RuleRequiredField(null, DefaultContexts.Save, "商品编号不能为空")]
        public string 商品编号
        {
            get { return _商品编号; }
            set { SetPropertyValue<string>("商品编号", ref _商品编号, value); }
        }
        private string _商品全名;
        [Custom("Caption", "商品全名")]
        [RuleRequiredField(null, DefaultContexts.Save, "商品名称必须不能为空")]
        [RuleUniqueValue(null, DefaultContexts.Save, "商品名称已经在系统中存在")]
        public string 商品全名
        {
            get { return _商品全名; }
            set { SetPropertyValue<string>("商品全名", ref _商品全名, value); }
        }

        private string _简称;
        [Custom("Caption", "简称")]
        public string 简称
        {
            get { return _简称; }
            set { SetPropertyValue<string>("简称", ref _简称, value); }
        }
        private string _商品型号;
        [Custom("Caption", "商品型号")]
        public string 商品型号
        {
            get { return _商品型号; }
            set { SetPropertyValue<string>("商品型号", ref _商品型号, value); }
        }
        private string _商品规格;
        [Custom("Caption", "商品规格")]
        public string 商品规格
        {
            get { return _商品规格; }
            set { SetPropertyValue<string>("商品规格", ref _商品规格, value); }
        }
        private string _单位;
        [Custom("Caption", "单位")]
        public string 单位
        {
            get { return _单位; }
            set { SetPropertyValue<string>("单位", ref _单位, value); }
        }
        private string _商品产地;
        [Custom("Caption", "商品产地")]
        public string 商品产地
        {
            get { return _商品产地; }
            set { SetPropertyValue<string>("商品产地", ref _商品产地, value); }
        }
        private string _供货信息;
        [Custom("Caption", "供货信息")]
        public string 供货信息
        {
            get { return _供货信息; }
            set { SetPropertyValue<string>("供货信息", ref _供货信息, value); }
        }
        private string _备注;
        [Custom("Caption", "备注")]
        public string 备注
        {
            get { return _备注; }
            set { SetPropertyValue<string>("备注", ref _备注, value); }
        }
        //private decimal _商品数量;
        //[Custom("Caption", "商品数量")]
        //[Custom("EditMask", "n2")]
        //[Custom("DisplayFormat", "{0:n2}")]
        //public decimal 商品数量
        //{
        //    get { return _商品数量; }
        //    set { SetPropertyValue<decimal>("商品数量", ref _商品数量, value); }
        //}
        private decimal _进货价;
        [Custom("Caption", "进货价")]
        public decimal 进货价
        {
            get { return _进货价; }
            set { SetPropertyValue<decimal>("进货价", ref _进货价, value); }
        }
        //private decimal _成本价;
        //[Custom("Caption", "成本价")]
        //public decimal 成本价
        //{
        //    get { return _成本价; }
        //    set { SetPropertyValue<decimal>("成本价", ref _成本价, value); }
        //}
        //private decimal _毛利;
        //[Custom("Caption", "毛利")]
        //public decimal 毛利
        //{
        //    get { return _毛利; }
        //    set { SetPropertyValue<decimal>("毛利", ref _毛利, value); }
        //}

        private decimal _销售价;
        [Custom("Caption", "销售价")]
        public decimal 销售价
        {
            get { return _销售价; }
            set { SetPropertyValue<decimal>("销售价", ref _销售价, value); }
        }
        //private decimal _预设售价2;
        //[Custom("Caption", "预设售价2")]
        //public decimal 预设售价2
        //{
        //    get { return _预设售价2; }
        //    set { SetPropertyValue<decimal>("预设售价2", ref _预设售价2, value); }
        //}
        //private decimal _预设售价3;
        //[Custom("Caption", "预设售价3")]
        //public decimal 预设售价3
        //{
        //    get { return _预设售价3; }
        //    set { SetPropertyValue<decimal>("预设售价3", ref _预设售价3, value); }
        //}
        //private decimal _预设售价4;
        //[Custom("Caption", "预设售价4")]
        //public decimal 预设售价4
        //{
        //    get { return _预设售价4; }
        //    set { SetPropertyValue<decimal>("预设售价4", ref _预设售价4, value); }
        //}
    }
}
